package com.utils;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

/**
 * HttpClient工具类：提供用于发送HTTP GET请求的方法。
 *
 * @author team10
 */
public class HttpClientUtils {

    /**
     * 执行GET请求，获取响应内容
     *
     * @param uri 请求的URL
     * @return 返回请求的响应内容
     * @description 通过GET请求方式获取指定URL的内容
     * @author team10
     */
    public static String doGet(String uri) {

        StringBuilder result = new StringBuilder();  // 用于存储响应内容
        try {
            String res = "";
            URL url = new URL(uri);  // 创建URL对象
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();  // 打开HTTP连接
            BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));  // 读取响应流
            String line;

            // 逐行读取HTTP响应内容
            while ((line = in.readLine()) != null) {
                res += line + "\n";  // 将每一行响应内容拼接起来
            }

            in.close();  // 关闭BufferedReader
            return res;  // 返回拼接的响应内容
        } catch (Exception e) {
            e.printStackTrace();  // 打印异常
            return null;  // 返回null表示发生异常
        }

    }

}
